Simply use the C++ container classes, a variety of container classes are included, eg. binary trees.
See your compiler documentation for more details.
But be on alert: a binary tree can have a very bad height/no_of_item ratio, resulting in poor
search times. Although it can bes howed, that a "random generated" BTree has aproximatelly a
logartihmic height (absolutelly only 40% heighter than a fully ballanced BTree), the mean height
of a BTree after n insert&delete operations is only in Theta(sqrt(n)) (=> mean search time proportional to sqrt(n)) ! To achieve better results you should use some balanced tree structure, like
a RB-Tree (Red-Black-Tree) or an AVL-Tree. Also some binary tree like Patricia-Tree (especially for
pattern-matching applications) or simple Digital Tree would achieve better results.
See R. Sedgewick "Algorithms", or similiar literature.